iT邦幫忙

2024 iThome 鐵人賽

DAY 12
0
Security

駭客新手指南:從程式小白轉職成初級駭客系列 第 12

Day12 注入式攻擊 : 資料庫的吐真劑

  • 分享至 

  • xImage
  •  

前兩篇介紹與實作完基本的網路攻擊及漏洞利用,今天就先不談論網路的內容,來講一下一個也是非常常見的攻擊手法:注入式攻擊(Injection),他就像是一種魔法,能夠讓資料庫無法隱藏任何秘密。

注入式攻擊

用白話文來說,注入式攻擊就是攻擊者將一些程式相關語句輸入至應用程式的輸入區,若今天輸入區沒做好內容的防範,就有可能被程式誤導,輸出本應保密的內容。

類型

  1. SQL Injection
    最常見的攻擊,攻擊者會將惡意的 SQL 查詢語句插入應用程式的輸入框或 URL 參數中,讓伺服器執行這些語句,目標通常是操控資料庫,可能會竊取數據、繞過身份驗證、修改數據甚至刪除資料庫。
    範例:
    ' OR '1'='1
    通常資料庫會存放密碼,而登入的指令會偵測[使用者輸入]是否=[預存的密碼],而加了這段程式碼會變成即輸入的不是密碼,但因為1=1永遠為true,便可不用密碼登入
  2. OS Command Injection
    攻擊者通過應用程式的輸入框或參數將惡意操作系統命令插入,讓伺服器執行這些命令。像是許多物聯網的設備常用後端網站透過網頁去執行 ping ip的動作,這時我們在打網址時只要在後面加入一些網頁使用語言的語句就有機會利用網頁中本來就寫好的shell連接到系統中
  3. XPath Injection
    XPath是一種設計用於從 XML 文件中選擇節點的查詢語言。他允許使用者瀏覽 XML 文件中的元素和屬性,從而能夠根據其層次結構精確選擇資料。她的大致運作與SQL Injection類似,我就不細講了。

SQL Injection 測試

網址:https://web.ctflearn.com/web4/
這是一個可以方便我們測試的一個資料庫,裡面已經存在了一些資料,不需要我們再花時間建資料庫。
https://ithelp.ithome.com.tw/upload/images/20240926/20163114zi4bQGzRVC.png

1. 基本查資料

可以從資訊得知,他的語句是從webfour.webfour 找出輸入的名字,我們可以輸入像是Luke、Eric這些名字來看他們的data
https://ithelp.ithome.com.tw/upload/images/20240926/20163114drCSDINi2X.png

2. 查詢所有資料

輸入1' OR '1'='1 這段主要是為了將name = true,由於 1=1 永遠為真,這會使整個 WHERE 條件成立,即使沒有任何 name 欄位等於 1 的記錄,整個查詢仍然會返回資料表中的所有記錄。
https://ithelp.ithome.com.tw/upload/images/20240926/201631143qOKp2DFoh.png

3.尋資料庫結構、版本

通常現在的關聯式資料庫都會將結構資訊像是資料表、欄位、索引之類的內容放置在INFORMATION_SCHEMA中,所以我們可以輸入

'UNION SELECT  TABLE_NAME, COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS#

便可查詢這些資料
也可以輸入

'UNION SELECT  @@version,database()#

來查詢版本,方便我們查找該版本的漏洞


上一篇
Day11 vsFTPd 2.3.4的漏洞利用
下一篇
Day13 駭客的漏洞菜單:OWASP TOP 10
系列文
駭客新手指南:從程式小白轉職成初級駭客30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言